// pages/classification/classification.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        list: [],//书籍全部类型
        num: 0,
        
        currentList:[],//当前是哪个类别的书籍列表
        // types: []
        allbooks: []//全部书
    },
    readBook: function(e) {
        console.log(e)
        var bookname = e.currentTarget.dataset.bookname,
            bookid = e.currentTarget.dataset.bookid
            // bookcontent = e.currentTarget.dataset.bookcontent;     //获取传递的值
        wx.navigateTo({
            url: "../introduction/introduction?title=" + bookname + '&id=' + bookid//传递参数
        });
    },
    changeList: function(e) {
        var index = e.currentTarget.dataset.index || 0
        console.log("index",index)
        console.log("list",this.data.list)
        this.data.currentList=[]//清零后，再填数据.防止堆叠
        for(let item of this.data.allbooks){
          if(item.type===this.data.list[index]){
            console.log("item.type",item.type)
            this.data.currentList.push(item)
          }
        }
        console.log("this.data.currentList",this.data.currentList)
        this.setData({
          num:index,
          currentList:this.data.currentList
        })
        console.log("this.data.currentList",this.data.currentList)
        // for (let ind in this.data.list) {
        //     if(ind===index){
        //       console.log("this.data.list",index)
        //         this.setData({
        //             num:index,
        //             // currentList: item.list
        //         })
        //       console.log("this.data.num",this.data.num)
        //     }
        // }
        // console.log("currentList",this.data.currentList)
        // for (let item of this.data.currentList) {
            
        //     console.log(item.icon)
            
        // }
        // this.setData({
        //     num: id,
        //     types: this.data.lists[id]
        // })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    search: function(e) {
      
      // wx.redirectTo({
      //     url: '../search/search?url=../classification/classification',
      // })
      wx.navigateTo({
        url: '../search/search?url=../classification/classification',
    })
    },
    onLoad: function() {
        // this.setData({
        //     // types: this.data.lists[0],
        //     // title:this.onQuery()
        // })

        this.onQuery()
        
        // console.log("currentList-0001111",this.data.currentList)
        // console.log("list-0001111",this.data.list)
        
    },
     // 获取数据库books数据【不受20条限制】
     onQuery:  function() {
        console.log("test")
        const db = wx.cloud.database()
        let total;
        db.collection('books4').where({
          _openid: 'this.data.openid' // 填入当前用户 openid
        }).count().then(res => {
          console.log("total01",res.total)
          total=res.total
          const batchTimes = Math.ceil(total / 20)
          console.log(batchTimes)   //获取需要获取几次 
          var arraypro=[]          // 定义空数据 用来存储之后的数据
        //   var allbooks=[]//全部书
        //   var books=[]//部分书
          var list=[] //存书籍所有的类型
          var x=0 
          var that = this
          //初次循环获取云端数据库的分次数的promise数组
          for (let i = 0; i < batchTimes; i++) {
            console.log(i)
            db.collection('books4').skip(i*20).get({
              success: function (res) {
                x++
                console.log(res.data)
                
                for (let j = 0; j < res.data.length; j++) {
                  arraypro.push(res.data[j])
                }
                
                console.log(arraypro)
                console.log(x)
              
                //  这里必须注意微信小程序js中的for循环
                //  比如 for(i=0;i<5;i++)
                //  结果出来的i 是随机的 并不是c++中的 0 1 2 3 4
                //  可能是 1 2 4 0 3
                //  这里非常的坑
              
                if(x==batchTimes){
                  console.log("arraypro",arraypro)
                  for(let item of arraypro){
                    list.push(item.type)
                  }
                  var listSet=new Set(list)
                  console.log("listSet",[...listSet])
                  list = Array.from(listSet)
                  console.log("list",list)
                  
                  
                //   console.log("books",books)
                  // arraypro.forEach(item=>{
                  //   console.log("item",item)
                  //   if(item.isInBookshelf===ture){
                  //     books.push(item)
                  //   }
                  // })
                //   console.log("books",books)
                  that.setData({
                  //  这里arraypro 就是的所有记录
                  //  把arraypro 赋给自己定义的变量即可 
                  allbooks:arraypro,
                  list

                  })



                  
                //   for (let item of this.data.list) {
                //     if(item.id===0){
                //         this.setData({
                //             currentList: item.list
                //         })
                //     }
                // }
                  // that.changeList(e)
                  // var index=0
                  that.data.currentList=[]
                  for(let item of arraypro){
                    if(item.type===list[that.data.num]){
                      console.log("item.type",item.type)
                      that.data.currentList.push(item)
                    }
                  }
                  console.log("this.data.currentList000022221111",that.data.currentList)
                  that.setData({
                    // num:index,
                    currentList:that.data.currentList
                  })
                  
                //   console.log("allbooks",this.data.Mathallbooks)
                }
                
              },
              fail: err=>{
                this.showToast({
                  icon: NamedNodeMap,
                  title: "查询数据错误"
                })
                console.error('[数据库] [查询记录] 失败：', err)
              }
            })
          }
        })

        // // 查询当前用户所有的 counters
        // db.collection('books4').where({
        //   _openid: this.data.openid
        // }).get({
        //   success: res => {
        //     this.setData({
        //     //   queryResult: JSON.stringify(res.data, null, 2),
        //       books:res.data
        //     //   books: JSON.stringify(res.data, null, 2)
        //     })
        //     console.log(this.data.books)
        //     console.log('[数据库] [查询记录] 成功: ', res.data)
        //     console.log("111",this.data.books.length)
        //     // for(let i in this.data.books){
        //     //         console.log("000",i)
        //     // }
        //   },
        //   fail: err => {
        //     wx.showToast({
        //       icon: 'none',
        //       title: '查询记录失败'
        //     })
        //     console.error('[数据库] [查询记录] 失败：', err)
        //   }
        // })
    },
    
    // onQuery: function() {
    //     const db = wx.cloud.database()
    //     // 查询当前用户所有的 counters
    //     db.collection('books3').where({
    //       _openid: this.data.openid
    //     }).get({
    //       success: res => {
    //         // var list1 = res.data[0].list
    //         // var list2 = list1.map(item=>return {item.title)
    //         // var list1=[]
    //         for (let item of this.data.list) {
    //             if(item.id===0){
    //                 this.setData({
    //                     currentList: item.list
    //                 })
    //             }
    //         }
    //         this.setData({
    //         //   queryResult: JSON.stringify(res.data, null, 2),

    //             list:res.data[0].list

    //         //   books: JSON.stringify(res.data, null, 2)
    //         })
    //         // console.log(this.data.books)
    //         // return res.data[0].list
    //         console.log('[数据库] [查询记录] 成功: ', res.data[0].list)
    //         console.log("this.data.list",this.data.list)
    //         // console.log("111",this.data.books.length)
    //         // for(let i in this.data.books){
    //         //         console.log("000",i)
    //         // }
    //       },
    //       fail: err => {
    //         wx.showToast({
    //           icon: 'none',
    //           title: '查询记录失败'
    //         })
    //         console.error('[数据库] [查询记录] 失败：', err)
    //       }
    //     })
        
    //   },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function() {
        this.onQuery()
        // this.changeList(null)
        // console.log("this.data.list--onShow",this.data.list)
        // console.log("this.onQuery()--000",this.onQuery())
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function() {

    }
})